Resume-doc screenshot, settings unsaved-changes guard, plan completion check, composer typewriter, chat empty state#52
Conversation
… completion check, composer typewriter, chat empty state - docs(resume): embed resumeupdate.PNG and refresh the User interface section - feat(settings): confirm on close when settings differ from the opening baseline (diffSettings + UnsavedSettingsDialog); Discard reverts, Keep editing returns, Done commits. Live-apply stays intact; layout excluded from the diff. - feat(plan): prominent self-drawing SuccessCheck when a plan run completes - feat(composer): rotating typewriter placeholder (reuses useTypewriter), build and plan phrase sets, pauses on input/special states - feat(chat): branded large-Logo empty state replacing the Sparkles icon Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
This is a well-crafted UI polish pass that adds several professional touches to the app. All changes follow existing patterns and maintain the pure-black dark theme consistently.
Key additions:
- SuccessCheck component: Self-drawing SVG checkmark with GPU-accelerated animations, properly respecting reduced-motion preferences
- Settings unsaved-changes guard: Captures baseline on modal open, diffs on close, and shows confirmation dialog with changed settings listed
- Composer typewriter: Rotating placeholder prompts using existing
useTypewriterhook, paused during user input - Chat empty state: Replaced generic icon with branded Logo component for professional appearance
- Documentation: Added screenshot to resume-pipeline.md with correct relative path
The implementation is clean with no critical issues found. The code demonstrates good practices including proper error handling, accessibility attributes, and reduced-motion support.
You can now have the agent implement changes and create commits directly on your pull request's source branch. Simply comment with /q followed by your request in natural language to ask the agent to make changes.
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (10)
📝 WalkthroughWalkthroughThis PR adds a SuccessCheck SVG component with CSS animations used in a new PlanPanel completion banner, introduces an unsaved-changes confirmation flow for SettingsModal (via diffSettings utility and UnsavedSettingsDialog), updates Composer with rotating typewriter placeholders, simplifies CenterWorkspace's empty state, and updates resume pipeline documentation. ChangesSettings Unsaved-Changes Confirmation
Estimated code review effort: 3 (Moderate) | ~25 minutes UI and Workspace Updates
Estimated code review effort: 2 (Simple) | ~15 minutes Sequence Diagram(s)sequenceDiagram
participant User
participant SettingsModal
participant diffSettings
participant UnsavedSettingsDialog
participant SettingsStore
User->>SettingsModal: attemptClose (X, backdrop, Escape)
SettingsModal->>diffSettings: compare baseline vs current
diffSettings-->>SettingsModal: changed paths
alt no pending changes
SettingsModal->>SettingsModal: close immediately
else pending changes
SettingsModal->>UnsavedSettingsDialog: show changes list
User->>UnsavedSettingsDialog: Keep editing / Discard
UnsavedSettingsDialog-->>SettingsModal: onKeepEditing / onDiscard
SettingsModal->>SettingsStore: update(baseline) on discard
SettingsModal->>SettingsModal: close
end
Related PRs: None identified. Suggested labels: ui, enhancement, settings Suggested reviewers: None identified. 🐰 A checkmark glows with gentle grace, ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
src/renderer/styles/index.cssParsing error: Expression expected. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
A batch of UI fixes/polish on top of the Resume Pipeline branch. All changes respect the strict pure-black dark-only theme, the renderer-only/process boundary, and reuse existing primitives.
assets/screenshots/resumeupdate.PNGcapture intodocs/architecture/subsystems/resume-pipeline.mdunder User interface (correct../../../assets/...relative path so it renders on GitHub/GitLab) and refreshed the surrounding prose.diffSettings.ts+UnsavedSettingsDialog.tsx(built to the existingResumeDeltaDialog/HooksConfirmDialogidiom).SuccessCheck(SVGstroke-dashoffsetdraw,successtoken, reduced-motion aware) shown in a completion card whenplan.status === 'completed'.useTypewriterhook (same effect as Global Search), with distinct build/plan phrase sets; it pauses the moment the user types or in special states (not installed / restricted / disabled).Sparklesicon with a large, professional app-Logobranded empty state.Verification
npx vite build --config vite.renderer.config.mts— clean.npm run lint— clean.🤖 Generated with Claude Code
Note
Low Risk
Renderer-only UX and documentation; settings discard intentionally reverts to the modal-open snapshot via the existing store update path.
Overview
UI polish across settings, plan activity, workspace chrome, and resume documentation.
Settings snapshots
AppSettingswhen the modal opens and routes ambiguous closes (X, backdrop, Escape) throughattemptClose: ifdiffSettingsfinds changes (excludinglayout),UnsavedSettingsDialoglists humanized paths; Discard reapplies the opening baseline via the settings store, Keep editing dismisses the confirm. Done still closes without that prompt.Plan panel shows a success-styled Execution complete banner with animated
SuccessCheckwhenplan.status === 'completed', plus task-count copy when progress is available.Composer rotates build vs plan example placeholders through
useTypewriter(paused while typing or in blocked states). Center workspace replaces the SparklesEmptyStatewith a brandedLogoempty state for new sessions.Docs embed the resume UI screenshot and short copy tying
ResumeBanner, the revalidating chip, andResumeDeltaDialogtogether.index.cssadds stroke-draw keyframes for the checkmark.Reviewed by Cursor Bugbot for commit a58eab4. Bugbot is set up for automated code reviews on this repo. Configure here.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation